# DPS8M simulator: src/Makefile.env
# vim: filetype=make:tabstop=4:cc=79:ai:noexpandtab:list:listchars=tab\:\>\-
# SPDX-License-Identifier: MIT-0
# scspell-id: 11d9a196-f62b-11ec-9cd8-80ee73e9b8e7
# Copyright (c) 2021-2025 The DPS8M Development Team

###############################################################################
# Variable debugging.
###############################################################################

ifndef MAKEFILE_ENV
MAKEFILE_ENV=1

###############################################################################

.PHONY: print-%
ifneq (,$(findstring print-,$(MAKECMDGOALS)))
.NOTPARALLEL: print-%
endif
print-%:                                                                      \
    # print-%:    # Display full details about variable %
	-@$(info $*: [$($*)] ($(flavor $*), set by $(origin $*)))@true
	-@true > /dev/null 2>&1

###############################################################################

.PHONY: printvars printenv
ifneq (,$(findstring printvars,$(MAKECMDGOALS)))
.NOTPARALLEL: printvars
endif
ifneq (,$(findstring printenv,$(MAKECMDGOALS)))
.NOTPARALLEL: printenv
endif
printvars printenv:                                                           \
    # printenv:    # Display selected variables and values
	-@$(foreach V,$(sort $(.VARIABLES)),$(if                                  \
        $(filter-out environment% default automatic,$(origin $V)),$(if        \
            $(strip $($V)),$(info $V: [$($V)]),)))
	-@true > /dev/null 2>&1

###############################################################################

export MAKEFILE_ENV
endif # /* ifndef MAKEFILE_ENV */

###############################################################################

# Local Variables:
# mode: make
# tab-width: 4
# End:
